package com.bjx.flow.mmx.domain.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.bjx.common.core.domain.group.Update;

/**
 * @desc: 流程任务BO实体
 * @author: liushuai
 * @date: 2023/05/22
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "FlowTaskBO",description = "流程任务BO实体")
public class MmxFlowTaskBO {
        /**
        * 任务Id
        */
        @NotNull(message = "任务Id不能为空")
        @Schema(title = "taskId",description = "任务Id")
        private  Long taskId; 
        /**
        * 实例名称
        */
        @NotNull(message = "实例名称不能为空",groups = Update.class)
        @Size(max = 255,message = "实例名称长度为1到255个字符")
        @Schema(title = "instanceName",description = "实例名称")
        private  String instanceName; 
        /**
        * 实例Id
        */
        @NotNull(message = "实例Id不能为空")
        @Schema(title = "instanceId",description = "实例Id")
        private  Long instanceId; 
        /**
        * 节点Id
        */
        @NotNull(message = "节点Id不能为空")
        @Size(max = 64,message = "节点Id长度为1到64个字符")
        @Schema(title = "nodeId",description = "节点Id")
        private  String nodeId; 
        /**
        * 分支Id
        */
        @NotNull(message = "分支Id不能为空")
        @Size(max = 64,message = "分支Id长度为1到64个字符")
        @Schema(title = "branchId",description = "分支Id")
        private  String branchId; 
        /**
        * 节点名称
        */
        @NotNull(message = "节点名称不能为空")
        @Size(max = 64,message = "节点名称长度为1到64个字符")
        @Schema(title = "nodeName",description = "节点名称")
        private  String nodeName; 
        /**
        * 业务Id
        */
        @NotNull(message = "业务Id不能为空")
        @Size(max = 64,message = "业务Id长度为1到64个字符")
        @Schema(title = "businessId",description = "业务Id")
        private  String businessId; 
        /**
        * 处理人
        */
        @Size(max = 64,message = "处理人长度为1到64个字符")
        @Schema(title = "assignee",description = "处理人")
        private  String assignee; 
        /**
        * 扩展字段1
        */
        @Size(max = 255,message = "扩展字段1长度为1到255个字符")
        @Schema(title = "ext1",description = "扩展字段1")
        private  String ext1; 
        /**
        * 扩展字段2
        */
        @Size(max = 255,message = "扩展字段2长度为1到255个字符")
        @Schema(title = "ext2",description = "扩展字段2")
        private  String ext2; 
        /**
        * 扩展字段3
        */
        @Size(max = 255,message = "扩展字段3长度为1到255个字符")
        @Schema(title = "ext3",description = "扩展字段3")
        private  String ext3; 
        /**
        * 扩展字段4
        */
        @Schema(title = "ext4",description = "扩展字段4")
        private  Long ext4; 
        /**
        * 扩展字段5
        */
        @Schema(title = "ext5",description = "扩展字段5")
        private  Long ext5; 
        /**
        * 扩展字段6
        */
        @Schema(title = "ext6",description = "扩展字段6")
        private  Long ext6; 
}